package cz.data.common.mark.manage;

import cz.data.common.support.db.core.DbColumn;
import cz.data.common.support.db.core.DbTable;

import java.util.List;
import java.util.Properties;

public class SqlserverManageDialect implements JdbcManageDialect {

    @Override
    public String properties(DbTable table, Properties properties) {
        StringBuilder sb = new StringBuilder();
        sb.append("exec sp_addextendedproperty N'MS_Description', N'")
                .append(table.getTableComment()).append("', N'schema', N'")
                .append(table.getSchemaName()).append("', N'table', N'")
                .append(table.getTableName()).append("';");
        List<DbColumn> columns = table.getColumns();
        for (DbColumn column : columns) {
            sb.append("exec sp_addextendedproperty N'MS_Description', N'")
                    .append(column.getColComment()).append("', N'schema', N'")
                    .append(table.getSchemaName()).append("', N'table', N'")
                    .append(table.getTableName()).append("', N'column', N'")
                    .append(column.getColName()).append("';");
        }
        return sb.toString();
    }
}
